package com.settlement.system.model.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import com.alibaba.excel.annotation.ExcelProperty;
import java.util.HashMap;
import java.util.Map;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDate;

/**
* <p>
* 京东资金流水导入VO
* </p>
*
* @author huangrensen
* @since 2024-05-17
*/
@Schema
@Data
public class JdFundFlowImportVo implements Serializable {
    @ExcelProperty(value = "商户号")
    private String sellerNo;
    @ExcelProperty(value = "账户代码")
    private String accountCode;
    @ExcelProperty(value = "账户名称")
    private String accountName;
    @ExcelProperty(value = "日期")
    private String billTime;
    @ExcelProperty(value = "商户订单号")
    private String sellerOrderNo;
    @ExcelProperty(value = "账户余额(元)")
    private String balance;
    @ExcelProperty(value = "收入金额(元)")
    private String incomeAmount;
    @ExcelProperty(value = "支出金额(元)")
    private String payAmount;
    @ExcelProperty(value = "资金动账备注")
    private String remark;
    @ExcelProperty(value = "交易类型")
    private String billType;
    @ExcelProperty(value = "账单日期")
    private String billDate;

    // 辅助字段
    @ExcelIgnore
    private String billMonth;
    @ExcelIgnore
    private Long storeId;
    @ExcelIgnore
    private String uuid;

    public static Map<String, String> getKeyMap(){
        Map<String, String> map = new HashMap<>();
        map.put("店铺ID", "storeId");
        map.put("商户号", "sellerNo");
        map.put("账户代码", "accountCode");
        map.put("账户名称", "accountName");
        map.put("日期", "billTime");
        map.put("商户订单号", "sellerOrderNo");
        map.put("账户余额(元)", "balance");
        map.put("收入金额(元)", "incomeAmount");
        map.put("支出金额(元)", "payAmount");
        map.put("资金动账备注", "remark");
        map.put("交易类型", "billType");
        map.put("账单日期", "billDate");
        return map;
    }
}
